package Case2_package;

public class Test {
    public static void main(String[] args) {
        /*
        有一对兔子，从出生后第三个月起，每个月都生一对兔子
        小兔子长到第三个月后每个月又生一对兔子，假如兔子都不死，问第十二个月的兔子对数为多少？
            1月：1
            2月：1
            3月：2
            4月：3
            5月：5
            ……

            特点：从第三个数据开始，是前两个数据和（斐波那契数列）
        */

        //求解1：
        //1、创建一个长度为12的数组
        int[] arr = new int[12];

        //2、手动给0索引和1索引的数据进行赋值
        arr[0] = 1;
        arr[1] = 1;

        //3、利用循环给剩余的数据进行赋值
        for (int i = 2; i < arr.length; i++) {
            arr[i] = arr[i - 1] + arr[i - 2];
        }

        //4、获取最大索引上的数据即可
        System.out.println(arr[11]);


        //求解2：
        //递归的方式去完成
        //1、递归的出口
        //2、找到递归的规律
        System.out.println(getSum(12));
    }

    public static int getSum(int month) {
        if (month == 1 || month == 2) {
            return 1;
        }

        return getSum(month - 1) + getSum(month - 2);
    }
}
